import { defineAsyncComponent, h, render } from 'vue'

// 基于函数动态创建组件，并挂载模态框到body节点
// 可声明参数默认值
export const createAlertDialog = (msg: string, close: Function = () => {}) => {
  //创建一个异步组件
  const dialog = defineAsyncComponent(() => import('./AlertDialog.vue'))
  //创建一个虚拟节点（vnode），其中 dialog 是定义的异步组件，msg 和 close 是作为 props 传递给对话框组件的数据。
  const vnode = h(dialog, { msg, close })
  //使用 render 函数将虚拟节点渲染到页面中
  render(vnode, document.body)
}
